Java তে ডেটা টাইপ দুটি প্রধান ভাগে বিভক্ত: প্রিমিটিভ ডেটা টাইপ (Primitive Data Types) এবং নন-প্রিমিটিভ ডেটা টাইপ (Non-Primitive Data Types)। প্রিমিটিভ ডেটা টাইপগুলি সিস্টেমের মেমরি থেকে সরাসরি মান ধারণ করে এবং সেগুলির জন্য নির্দিষ্ট মেমরি সাইজ রয়েছে, যেখানে নন-প্রিমিটিভ ডেটা টাইপগুলি অবজেক্ট বা রেফারেন্স হিসেবে কাজ করে এবং তাদের মেমরি সাইজ পরিবর্তনশীল।
1. প্রিমিটিভ ডেটা টাইপ (Primitive Data Types)
প্রিমিটিভ ডেটা টাইপগুলি Java এর অন্তর্নিহিত ডেটা টাইপ যা সিস্টেমের মেমরিতে সরাসরি মান ধারণ করে। এগুলির জন্য নির্দিষ্ট মেমরি বরাদ্দ থাকে এবং এগুলি ফাংশন বা মেথডের মাধ্যমে পাস করা হলে তাদের মান কপি হয়ে পাস হয় (Call by Value)।
প্রিমিটিভ ডেটা টাইপের উদাহরণ:
- byte: 8-বিট সাইনড পূর্ণসংখ্যা (Range: -128 to 127)
- short: 16-বিট সাইনড পূর্ণসংখ্যা
- int: 32-বিট সাইনড পূর্ণসংখ্যা
- long: 64-বিট সাইনড পূর্ণসংখ্যা
- float: 32-বিট ফ্লোটিং পয়েন্ট সংখ্যা
- double: 64-বিট ডাবল ফ্লোটিং পয়েন্ট সংখ্যা
- char: 16-বিট ইউনিকোড ক্যারেক্টার
- boolean: সত্য (true) বা মিথ্যা (false)
প্রিমিটিভ ডেটা টাইপ উদাহরণ:
public class PrimitiveDataTypesExample {
public static void main(String[] args) {
// Primitive Data Types
byte byteValue = 10;
short shortValue = 200;
int intValue = 1000;
long longValue = 100000L;
float floatValue = 10.5f;
double doubleValue = 20.99;
char charValue = 'A';
boolean booleanValue = true;
// Displaying values
System.out.println("byte value: " + byteValue);
System.out.println("short value: " + shortValue);
System.out.println("int value: " + intValue);
System.out.println("long value: " + longValue);
System.out.println("float value: " + floatValue);
System.out.println("double value: " + doubleValue);
System.out.println("char value: " + charValue);
System.out.println("boolean value: " + booleanValue);
}
}
আউটপুট:
byte value: 10
short value: 200
int value: 1000
long value: 100000
float value: 10.5
double value: 20.99
char value: A
boolean value: true
2. নন-প্রিমিটিভ ডেটা টাইপ (Non-Primitive Data Types)
নন-প্রিমিটিভ ডেটা টাইপগুলি Java তে অবজেক্ট বা রেফারেন্স টাইপ হিসেবে কাজ করে। এগুলির জন্য মেমরি ডায়নামিকভাবে বরাদ্দ করা হয় এবং এগুলির মধ্যে অনেকগুলো ভেরিয়েবল থাকতে পারে (যেমন, String, Arrays, Classes, Interfaces, ইত্যাদি)। নন-প্রিমিটিভ ডেটা টাইপগুলি প্রিমিটিভ ডেটা টাইপের মান ধারণ করতে পারে এবং সেগুলির জন্য আলাদা মেমরি বরাদ্দ হয়।
নন-প্রিমিটিভ ডেটা টাইপের উদাহরণ:
- String: টেক্সট (স্ট্রিং) ডেটা টাইপ
- Array: একই ধরনের উপাদানের একটি সারণি
- Class: কাস্টম ডেটা টাইপ (অবজেক্ট তৈরি করা হয়)
- Interface: একটি কনট্রাক্ট যা ক্লাসগুলো বাস্তবায়ন করতে পারে
নন-প্রিমিটিভ ডেটা টাইপ উদাহরণ:
public class NonPrimitiveDataTypesExample {
public static void main(String[] args) {
// Non-Primitive Data Types
String strValue = "Hello, Java!";
int[] intArray = {1, 2, 3, 4, 5};
NonPrimitiveClass classObject = new NonPrimitiveClass("John Doe", 25);
// Displaying values
System.out.println("String value: " + strValue);
System.out.print("Array values: ");
for (int num : intArray) {
System.out.print(num + " ");
}
System.out.println();
System.out.println("Class object: " + classObject.getName() + ", Age: " + classObject.getAge());
}
}
class NonPrimitiveClass {
private String name;
private int age;
public NonPrimitiveClass(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
আউটপুট:
String value: Hello, Java!
Array values: 1 2 3 4 5
Class object: John Doe, Age: 25
সারাংশ (Summary):
- প্রিমিটিভ ডেটা টাইপ:
- সরাসরি মেমরিতে মান ধারণ করে।
- নির্দিষ্ট সাইজ এবং রেঞ্জ থাকে।
- প্রাথমিক ডেটা টাইপ:
byte,short,int,long,float,double,char,boolean।
- নন-প্রিমিটিভ ডেটা টাইপ:
- অবজেক্ট বা রেফারেন্স হিসেবে কাজ করে।
- মেমরি ডায়নামিকভাবে বরাদ্দ হয় এবং এর মধ্যে বিভিন্ন উপাদান থাকতে পারে।
- উদাহরণ:
String,Array,Class,Interface।
এছাড়া, নন-প্রিমিটিভ ডেটা টাইপগুলি প্রিমিটিভ ডেটা টাইপের উপর ভিত্তি করে ডেটা ধারণ করতে পারে এবং Java তে মেমরি ম্যানেজমেন্ট আরও ডাইনামিক হতে পারে।
Read more